package pe.com.hermes.hermetic.negocio.ultil;

import pe.com.hermes.hermetic.beans.ComprobanteServicioBean;
import pe.com.hermes.hermetic.negocio.service.HermeticFacade;


import java.math.BigDecimal;

import java.text.DecimalFormat;

import java.text.DecimalFormatSymbols;

import java.util.List;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;


public class Test {
    public Test() {
    }

    public static void main(String[] args) {
        //FECHA
        
        String fechaImp = FechaUtil.getFechaImp("01/08/2009 21:65:30");
        
        String fechaManana = FechaUtil.agregarDiasFecha("28/02/2009",1);
        
        
        //NUMERO BIG DECIMAL
        Test test = new Test();          
        
        BigDecimal unoBig = new BigDecimal("9991285");
        BigDecimal dosBig = new BigDecimal(9997113);
        BigDecimal fechaBig = new BigDecimal(92902);
        
        BigDecimal resultadoBig;
        resultadoBig = unoBig.divide(dosBig,2,BigDecimal.ROUND_DOWN);
        //double dec = new Double(resultadoBig.doubleValue());
        resultadoBig = unoBig.multiply(dosBig).multiply(fechaBig);
        
        
        double uno =  9991285.0;//9999869; //9999929;
        double dos =  9997113.0;//192521;//192521;        
        double fecha = 92902.0;//92902;
                
         BigDecimal unoDouble = new BigDecimal(uno);        
                
        double resultado = uno * dos * fecha; 
        
        double constante = 9999999;
        DecimalFormat df2 = new DecimalFormat("#######################0");        
        String total = df2.format(resultado);
        
        String num_1 = "0000000000130"; 
        String num_2 = "0192521";
        
        //num_1 = CadenaUtil.completaEspaciosBlanco(df2.format(Math.floor(Double.parseDouble(abonoCSBean.getMontoArchivo()))),"0","L",13);
        
        String fechaHora = "092902";//fechaServidorBean.getFechaDiaHora().substring(8,14);
        String fechaMesDia = "1005";//fechaServidorBean.getFechaDiaSinForm().substring(2,4)+fechaServidorBean.getFechaDiaSinForm().substring(0,2);
        String numCS = "1147793";
               
        
        double monto = Double.parseDouble(num_1.substring(num_1.length() - 7));
        
        String cod_formula = df2.format(Math.floor(Math.abs(((constante - Double.parseDouble(num_1.substring(num_1.length() - 7)) ) * Double.parseDouble(num_2.substring(num_2.length() - 7)) * Double.parseDouble(fechaHora)) / (Double.parseDouble(fechaMesDia) * Integer.parseInt(numCS)))));
        
        
        test.formato();
        ApplicationContext ctx = 
            new ClassPathXmlApplicationContext(ConstantesHermetic.CTE_SPRING_XML);
        HermeticFacade servicio = 
            (HermeticFacade)ctx.getBean("servicioHermetic");

        //Metodos
        //   String ac= "";
        // ac = servicio.getPuntosReferencia("1","1","1");
        // System.out.println(ac);


        // getDenominacionMoneda(String tipoUnidad ,String codCliente,String codSucursal,String cuenta,String boveda,String fechaDesde) 
        /*
        List lista = 
            servicio.getActasAnomalia("1", "01/01/2008", "05/01/2008", "1");
        for (int i = 0; i < lista.size(); i++) {
            ComprobanteServicioBean a = new ComprobanteServicioBean();
            a = (ComprobanteServicioBean)lista.get(i);
            System.out.println(a.getDesPunto() + " " + a.getBoveda() + " " + 
                               a.getAnomalia());

        }*/
        /*
         List lista = servicio.getListadoDenominacion("2","22/01/2008","1","1","1",null);
         for(int i=0;i < lista.size();i++){
             PuntoBean a =new PuntoBean();
             a = (PuntoBean)lista.get(i);
             System.out.println(a.getDesPunto()+" " + a.getDesDire() +" "+ a.getCodPunto() );

         }
        List lista2 = servicio.getListadoEliminaPedidos("10/09/2007","1","1","1");
        for(int i=0;i < lista2.size();i++){
            ListadoEliminaPedidoBean a =new ListadoEliminaPedidoBean();
            a = (ListadoEliminaPedidoBean)lista2.get(i);
            System.out.println(a.getDes_cnta()+" "+a.getNum_pedi()+" "+a.getCod_punt()+" "+a.getDes_punt()+" "+a.getTip_bill()+" "+a.getMon_pedi());
        }
        List lista3 = servicio.getTipoBilletaje();
        for(int i=0;i < lista3.size();i++){
            TiposBean a =new TiposBean();
            a = (TiposBean)lista3.get(i);
            System.out.println(a.getDescripcion() + " " + a.getCodigo());
        }*/
    }
    
    
    public void formato(){
        String nom_clie = "asdsadsad\"asdasdsa";
        nom_clie = nom_clie.replace("\""," ");
        
        //DecimalFormat df1 = new DecimalFormat("############0.00");        
        DecimalFormatSymbols dfs = new DecimalFormatSymbols();
        dfs.setDecimalSeparator('.');
        //dfs.setGroupingSeparator(',');
        DecimalFormat df1 = new DecimalFormat("############0.00", dfs);
        df1.setGroupingSize(3);                
        String monto = "1000.00";
        String formateado = df1.format(Double.parseDouble(monto));
        
        formateado = CadenaUtil.completaEspaciosBlanco(formateado,"0","L",20);
        
        String cadena1 = formateado.substring(0,11); 
        System.out.println(cadena1);
    
    }
}

